Appearance
Git 常用命令
初始化 & 配置
bash
# 初始化 Git 仓库
git init
# 克隆远程仓库
git clone <仓库地址>
# 查看 Git 配置
git config --list
# 设置用户名和邮箱
git config --global user.name "Your Name"
git config --global user.email "you@example.com"查看状态 & 历史
bash
# 查看当前状态
git status
# 查看提交历史
git log
# 简洁查看历史
git log --oneline
# 查看最近 10 次提交
git log --oneline -10
# 查看某次提交的详细信息
git show <commit-id>
# 查看代码修改
git diff
# 查看暂存区修改
git diff --cached提交代码
bash
# 添加单个文件
git add file.txt
# 添加所有修改
git add .
# 提交
git commit -m "feat: add xxx"
# 修改上一次 commit
git commit --amend
# 添加修改并直接提交(已被 Git 跟踪的文件)
git commit -am "fix: xxx"常见 Commit 类型:
text
feat 新功能
fix Bug 修复
refactor 重构
docs 文档
test 测试
chore 构建/工具等杂项
perf 性能优化分支
bash
# 查看本地分支
git branch
# 查看所有分支
git branch -a
# 创建分支
git branch feature/login
# 切换分支
git checkout feature/login
# 创建并切换
git checkout -b feature/login
# 推荐的新写法
git switch feature/login
git switch -c feature/login
# 删除本地分支
git branch -d feature/login
# 强制删除
git branch -D feature/login合并 & Rebase
bash
# 合并分支
git merge feature/login
# 将当前分支 rebase 到 main
git rebase main
# 继续 rebase
git rebase --continue
# 取消 rebase
git rebase --abort远程仓库
bash
# 查看远程仓库
git remote -v
# 添加远程仓库
git remote add origin <仓库地址>
# 拉取远程信息
git fetch
# 拉取并合并
git pull
# 推送当前分支
git push
# 第一次推送并建立 upstream
git push -u origin main
# 推送指定分支
git push origin feature/login
# 删除远程分支
git push origin --delete feature/login撤销修改
bash
# 丢弃工作区某个文件的修改
git restore file.txt
# 丢弃所有工作区修改
git restore .
# 取消 git add
git restore --staged file.txt
# 撤销最近一次 commit,但保留修改
git reset --soft HEAD~1
# 撤销最近一次 commit,保留修改但取消暂存
git reset HEAD~1
# 撤销 commit,并删除修改
git reset --hard HEAD~1⚠️ git reset --hard 会直接丢弃未保存的修改,使用前确认一下。
Stash 临时保存
bash
# 暂存当前修改
git stash
# 暂存并添加说明
git stash push -m "working on login"
# 查看 stash
git stash list
# 恢复最近一次 stash
git stash pop
# 恢复但不删除 stash
git stash apply
# 删除 stash
git stash drop
# 清空所有 stash
git stash clearTag
bash
# 查看 Tag
git tag
# 创建 Tag
git tag v1.0.0
# 创建带说明的 Tag
git tag -a v1.0.0 -m "release v1.0.0"
# 推送 Tag
git push origin v1.0.0
# 推送所有 Tag
git push origin --tags
# 删除本地 Tag
git tag -d v1.0.0
# 删除远程 Tag
git push origin --delete v1.0.0